home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tools / anwender / gnuplot / demo / prob.dem < prev    next >
Encoding:
Text File  |  1995-11-25  |  21.4 KB  |  791 lines

  1. #
  2. # $Id: prob.dem,v 1.3 1994/03/30 01:28:41 alex Exp $
  3. #
  4. # Demo Statistical Functions version 2.3
  5. #
  6. # Permission granted to distribute freely for non-commercial purposes only
  7. #
  8. # Copyright (c) 1991, 1992 Jos van der Woude, jvdwoude@hut.nl
  9.  
  10. pause 0 "                   Statistical Library Demo, version 2.3"
  11. pause 0 ""
  12. pause 0 "          Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
  13. pause 0 "Permission granted to distribute freely for non-commercial purposes only"
  14. pause 0 ""
  15. pause 0 ""
  16. pause 0 ""
  17. pause 0 ""
  18. pause 0 ""
  19. pause 0 ""
  20. pause 0 ""
  21. pause 0 ""
  22. pause 0 ""
  23. pause 0 ""
  24. pause 0 ""
  25. pause 0 ""
  26. pause 0 ""
  27. pause 0 ""
  28. pause 0 ""
  29. pause 0 "NOTE: contains 54 plots and consequently takes a lot of time to run"
  30. pause 0 "                      Press Ctrl-C to exit right now"
  31. pause -1 "                      Press Return to start demo ..."
  32.  
  33. load "stat.inc"
  34.  
  35. # Arcsinus PDF and CDF
  36. r = 2.0
  37. mu = 0.0
  38. sigma = r / sqrt2
  39. xmin = -r
  40. xmax = r
  41. ymax = 1.1 * r #No mode
  42. set nokey
  43. set zeroaxis
  44. set xrange [xmin : xmax]
  45. set yrange [0 : ymax]
  46. set xlabel "x ->"
  47. set ylabel "probability density ->"
  48. set xtics
  49. set ytics
  50. set format x "%.1f"
  51. set format y "%.1f"
  52. set sample 200
  53. set title "arcsin PDF with r = 2.0"
  54. plot arcsin(x)
  55. pause -1 "Hit return to continue"
  56. set title "arcsin CDF with r = 2.0"
  57. set yrange [0 : 1.1]
  58. plot carcsin(x)
  59. pause -1 "Hit return to continue"
  60.  
  61. # Beta PDF and CDF
  62. #p = 0.5; q = 0.7
  63. #mu = p / (p + q)
  64. #sigma = sqrt(p**q) / ((p + q ) * sqrt(p + q + 1.0))
  65. #xmin = 0.0
  66. #xmax = 1.0
  67. #Mode of beta PDF used
  68. #ymax = (p < 1.0 || q < 1.0) ? 2.0 : 1.1 * beta((p - 1.0)/(p + q - 2.0))
  69. set key
  70. set zeroaxis
  71. #set xrange [xmin : xmax]
  72. #set yrange [0 : ymax]
  73. set xlabel "x ->"
  74. set ylabel "probability density ->"
  75. set xtics
  76. set ytics
  77. set format x "%.1f"
  78. set format y "%.1f"
  79. set sample 100
  80. set title "beta PDF"
  81. plot [0:1] [0:5] p = 0.5, q = 0.7, beta(x) title "p = 0.5, q = 0.7", \
  82.                  p = 5.0, q = 3.0, beta(x) title "p = 5.0, q = 3.0", \
  83.                  p = 0.5, q = 2.5, beta(x) title "p = 0.5, q = 2.5"
  84. pause -1 "Hit return to continue"
  85. set title "incomplete beta CDF"
  86. plot [0:1] [0:1.1] p = 0.5, q = 0.7, cbeta(x) title "p = 0.5, q = 0.7", \
  87.                    p = 5.0, q = 3.0, cbeta(x) title "p = 5.0, q = 3.0", \
  88.                    p = 0.5, q = 2.5, cbeta(x) title "p = 0.5, q = 2.5"
  89. pause -1 "Hit return to continue"
  90.  
  91. # Binomial PDF and CDF
  92. n = 25; p = 0.15
  93. mu = n * p
  94. sigma = sqrt(n * p * (1.0 - p))
  95. xmin = int(mu - 4.0 * sigma)
  96. xmin = xmin < 0 ? 0 : xmin
  97. xmax = int(mu + 4.0 * sigma)
  98. ymax = 1.1 * binom(mu) #Mode of normal PDF used
  99. xinc = ceil((xmax - xmin) / 10)
  100. xinc = xinc > 1 ? xinc : 1
  101. set nokey
  102. set nozeroaxis
  103. set xrange [xmin : xmax]
  104. set yrange [0 : ymax]
  105. set xlabel "k ->"
  106. set ylabel "probability density ->"
  107. set xtics xmin + 0.499, xinc, xmax
  108. set ytics 0, ymax / 10, ymax
  109. set format x "%2.0f"
  110. set format y "%3.2f"
  111. set sample (xmax - xmin) + 1
  112. set title "binomial PDF with n = 25, p = 0.15"
  113. plot binom(x) with steps
  114. pause -1 "Hit return to continue"
  115. set title "binomial CDF with n = 25, p = 0.15"
  116. set yrange [0 : 1.1]
  117. set ytics 0, 1.1 / 10.5, 1.1
  118. plot cbinom(x) with steps
  119. pause -1 "Hit return to continue"
  120.  
  121. # Cauchy PDF and CDF
  122. #a = 0.0; b = 2.0
  123. #cauchy PDF has no moments
  124. #xmin = a - 4.0 * b
  125. #xmax = a + 4.0 * b
  126. #ymax = 1.1 * cauchy(a) #Mode of cauchy PDF used
  127. set key
  128. set zeroaxis
  129. #set xrange [xmin : xmax]
  130. #set yrange [0 : ymax]
  131. set xlabel "x ->"
  132. set ylabel "probability density ->"
  133. set xtics
  134. set ytics
  135. set format x "%.1f"
  136. set format y "%.2f"
  137. set sample 100
  138. set title "cauchy PDF"
  139. plot [-15:15] [0:0.2] a = 0, b = 2, cauchy(x) title "a = 0, b = 2", \
  140.                       a = 0, b = 4, cauchy(x) title "a = 0, b = 4"
  141. pause -1 "Hit return to continue"
  142. set title "cauchy CDF"
  143. plot [-30:30] [0:1.1] a = 0, b = 2, ccauchy(x) title "a = 0, b = 2", \
  144.                       a = 0, b = 4, ccauchy(x) title "a = 0, b = 4"
  145. pause -1 "Hit return to continue"
  146.  
  147. # Chi-square PDF and CDF
  148. #df1 = 4.0
  149. #mu = df1
  150. #sigma = sqrt(2.0 * df1)
  151. #xmin = mu - 4.0 * sigma
  152. #xmin = xmin < 0 ? 0 : xmin
  153. #xmax = mu + 4.0 * sigma
  154. #ymax = 1.1 * (df1 > 2.0 ? chi(df1 - 2.0) : 1.0) #Mode of chi PDF used
  155. set key
  156. set zeroaxis
  157. #set xrange [xmin : xmax]
  158. #set yrange [0 : ymax]
  159. set xlabel "x ->"
  160. set ylabel "probability density ->"
  161. set xtics
  162. set ytics
  163. set format x "%.1f"
  164. set format y "%.2f"
  165. set sample 100
  166. set title "chi-square PDF"
  167. plot [0:15] [0:0.2] df1 = 4, chi(x) title "df = 4", \
  168.                     df1 = 6, chi(x) title "df = 6", \
  169.                     df1 = 8, chi(x) title "df = 8"
  170. pause -1 "Hit return to continue"
  171. set title "chi-square CDF"
  172. plot [0:15] [0:1.1] df1 = 4, cchi(x) title "df = 4", \
  173.                     df1 = 6, cchi(x) title "df = 6", \
  174.                     df1 = 8, cchi(x) title "df = 8"
  175. pause -1 "Hit return to continue"
  176.  
  177. # Erlang PDF and CDF
  178. #lambda = 1.0; n = 2.0
  179. #mu = n / lambda
  180. #sigma = sqrt(n) / lambda
  181. #xmin = mu - 4.0 * sigma
  182. #xmin = xmin < 0 ? 0 : xmin
  183. #xmax = mu + 4.0 * sigma
  184. #ymax = n < 2.0 ? 1.0 : 1.1 * erlang((n - 1.0) / lambda) #Mode of erlang PDF used
  185. set key
  186. set zeroaxis
  187. #set xrange [xmin : xmax]
  188. #set yrange [0 : ymax]
  189. set xlabel "x ->"
  190. set ylabel "probability density ->"
  191. set xtics
  192. set ytics
  193. set format x "%.1f"
  194. set format y "%.1f"
  195. set sample 100
  196. set title "erlang PDF"
  197. plot [0:10] [0:1] lambda = 1, n = 2, erlang(x) title "lambda = 1, n = 2", \
  198.                   lambda = 2, n = 2, erlang(x) title "lambda = 2, n = 2"
  199. pause -1 "Hit return to continue"
  200. set title "erlang CDF"
  201. plot [0:10] [0:1.1] lambda = 1, n = 2, cerlang(x) title "lambda = 1, n = 2", \
  202.                     lambda = 2, n = 2, cerlang(x) title "lambda = 2, n = 2"
  203. pause -1 "Hit return to continue"
  204.  
  205. # Thanks to mrb2j@kelvin.seas.Virginia.EDU for telling us about this.
  206. # Extreme (Gumbel extreme value) PDF and CDF
  207. #alpha = 0.5; u = 1.0
  208. #mu = u + (0.577215665/alpha)   # Euler's constant
  209. #sigma = pi/(sqrt(6.0)*alpha)
  210. #xmin = mu - 4.0 * sigma
  211. #xmax = mu + 4.0 * sigma
  212. #ymax = 1.1 * extreme(u) #Mode of extreme PDF used
  213. set key
  214. set zeroaxis
  215. #set xrange [xmin : xmax]
  216. #set yrange [0 : ymax]
  217. set xlabel "x ->"
  218. set ylabel "probability density ->"
  219. set xtics
  220. set ytics
  221. set format x "%.1f"
  222. set format y "%.2f"
  223. set sample 100
  224. set title "extreme PDF"
  225. plot [-10:10] [0:0.4] alpha = 0.5, u = 1.0, extreme(x) title "alpha = 0.5, u = 1.0", \
  226.                       alpha = 1.0, u = 0.0, extreme(x) title "alpha = 1.0, u = 0.0"
  227. pause -1 "Hit return to continue"
  228. set title "extreme CDF"
  229. plot [-10:10] [0:1.1] alpha = 0.5, u = 1.0, cextreme(x) title "alpha = 0.5, u = 1.0", \
  230.                       alpha = 1.0, u = 0.0, cextreme(x) title "alpha = 1.0, u = 0.0"
  231. pause -1 "Hit return to continue"
  232.  
  233. # F PDF and CDF
  234. #df1 = 5.0; df2 = 9.0
  235. #mu = df2 < 2.0 ? 1.0 : df2 / (df2 - 2.0)
  236. #sigma = df2 < 4.0 ? 1.0 : mu * sqrt(2.0 * (df1 + df2 - 2.0) / (df1 * (df2 - 4.0)))
  237. #xmin = mu - 4.0 * sigma
  238. #xmin = xmin < 0 ? 0 : xmin
  239. #xmax = mu + 4.0 * sigma
  240. #Mode of F PDF used
  241. #ymax = df1 < 3.0 ? 1.0 : 1.1 * f((df1 / 2.0 - 1.0) / (df1 / 2.0 + df1 / df2))
  242. set key
  243. set zeroaxis
  244. #set xrange [xmin : xmax]
  245. #set yrange [0 : ymax]
  246. set xlabel "x ->"
  247. set ylabel "probability density ->"
  248. set xtics
  249. set ytics
  250. set format x "%.1f"
  251. set format y "%.2f"
  252. set sample 100
  253. set title "F PDF"
  254. plot [0:4] [0:0.8] df1 = 5.0, df2 = 9.0, f(x) title "df1 = 5, df2 = 9", \
  255.                    df1 = 7.0, df2 = 6.0, f(x) title "df1 = 7, df2 = 6"
  256. pause -1 "Hit return to continue"
  257. set title "F CDF"
  258. plot [0:4] [0:1.1] df1 = 5.0, df2 = 9.0, cf(x) title "df1 = 5, df2 = 9", \
  259.                    df1 = 7.0, df2 = 6.0, cf(x) title "df1 = 7, df2 = 6"
  260. pause -1 "Hit return to continue"
  261.  
  262. # Gamma PDF and incomplete gamma CDF
  263. #rho = 0.5; lambda = 1.0
  264. #mu = rho / lambda
  265. #sigma = sqrt(rho) / lambda
  266. #xmin = mu - 4.0 * sigma
  267. #xmin = xmin < 0 ? 0 : xmin
  268. #xmax = mu + 4.0 * sigma
  269. #ymax = rho < 1.0 ? 2.0 : 1.1 * g((rho - 1.0) / lambda) #Mode of gamma pdf used
  270. set key
  271. set zeroaxis
  272. #set xrange [xmin: xmax]
  273. #set yrange [0: ymax]
  274. set xlabel "x ->"
  275. set ylabel "probability density ->"
  276. set xtics
  277. set ytics
  278. set format x "%.1f"
  279. set format y "%.1f"
  280. set sample 100
  281. set title "gamma PDF"
  282. plot [0:5] [0:1.5] rho = 0.5, lambda = 1.0, g(x) title "rho = 0.5, lambda = 1.0", \
  283.                    rho = 1.0, lambda = 1.0, g(x) title "rho = 1.0, lambda = 1.0", \
  284.                    rho = 2.0, lambda = 2.0, g(x) title "rho = 2.0, lambda = 2.0"
  285. pause -1 "Hit return to continue"
  286. set title "incomplete gamma CDF (lambda == 1.0)"
  287. plot [0:5] [0:1.1] rho = 0.5, cgamma(x) title "rho = 0.5", \
  288.                    rho = 1.0, cgamma(x) title "rho = 1.0", \
  289.                    rho = 2.0, cgamma(x) title "rho = 2.0"
  290. pause -1 "Hit return to continue"
  291.  
  292. # Geometric PDF and CDF
  293. p = 0.4
  294. mu = (1.0 - p) / p
  295. sigma = sqrt(mu / p)
  296. xmin = int(mu - 4.0 * sigma)
  297. xmin = xmin < 0 ? 0 : xmin
  298. xmax = int(mu + 4.0 * sigma)
  299. xinc = ceil((xmax - xmin) / 10)
  300. xinc = xinc > 1 ? xinc : 1
  301. ymax = 1.1 * geometric(mu - 1/p) #mode of gamma PDF used
  302. set nokey
  303. set nozeroaxis
  304. set xrange [xmin : xmax]
  305. set yrange [0 : ymax]
  306. set xlabel "k ->"
  307. set ylabel "probability density ->"
  308. set xtics xmin + 0.499, xinc, xmax
  309. set ytics 0, ymax / 10, ymax
  310. set format x "%2.0f"
  311. set format y "%3.2f"
  312. set sample (xmax - xmin) + 1
  313. set title "geometric PDF with p = 0.4"
  314. plot geometric(x) with steps
  315. pause -1 "Hit return to continue"
  316. set title "geometric CDF with p = 0.4"
  317. set yrange [0 : 1.1]
  318. set ytics 0, 1.1 / 10.5, 1.1
  319. plot cgeometric(x) with steps
  320. pause -1 "Hit return to continue"
  321.  
  322. # Half normal PDF and CDF
  323. mu = sqrt2invpi
  324. sigma = 1.0
  325. s = sigma*sqrt(1.0 - 2.0/pi)
  326. xmin = 0.0
  327. xmax = mu + 4.0 * s
  328. ymax = 1.1 * halfnormal(0) #Mode of half normal PDF used
  329. set nokey
  330. set zeroaxis
  331. set xrange [xmin: xmax]
  332. set yrange [0: ymax]
  333. set xlabel "x ->"
  334. set ylabel "probability density ->"
  335. set xtics
  336. set ytics
  337. set format x "%.1f"
  338. set format y "%.1f"
  339. set sample 100
  340. set title "half normal PDF, sigma = 1.0"
  341. plot halfnormal(x)
  342. pause -1 "Hit return to continue"
  343. set title "half normal CDF, sigma = 1.0"
  344. set yrange [0:1.1]
  345. plot chalfnormal(x)
  346. pause -1 "Hit return to continue"
  347.  
  348. # Hypergeometric PDF and CPF
  349. nn = 75; mm = 25; n = 10
  350. p = real(mm) / nn
  351. mu = n * p
  352. sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
  353. xmin = int(mu - 4.0 * sigma)
  354. xmin = xmin < 0 ? 0 : xmin
  355. xmax = int(mu + 4.0 * sigma)
  356. xinc = ceil((xmax - xmin) / 10)
  357. xinc = xinc > 1 ? xinc : 1
  358. ymax = 1.1 * hypgeo(mu) #mode of binomial PDF used
  359. set nokey
  360. set nozeroaxis
  361. set xrange [xmin : xmax]
  362. set yrange [0 : ymax]
  363. set xlabel "k ->"
  364. set ylabel "probability density ->"
  365. set xtics xmin + 0.499, xinc, xmax
  366. set ytics 0, ymax / 10, ymax
  367. set format x "%2.0f"
  368. set format y "%3.2f"
  369. set sample (xmax - xmin) + 1
  370. set title "hypergeometric PDF with nn = 75, mm = 25, n = 10"
  371. plot hypgeo(x) with steps
  372. pause -1 "Hit return to continue"
  373. set yrange [0 : 1.1]
  374. set ytics 0, 1.1 / 10.5, 1.1
  375. set title "hypergeometric CDF with nn = 75, mm = 25, n = 10"
  376. plot chypgeo(x) with steps
  377. pause -1 "Hit return to continue"
  378.  
  379. # Laplace PDF
  380. a = 0.0; b = 1.0
  381. mu = a
  382. sigma = sqrt(2.0) * b
  383. xmin = mu - 4.0 * sigma
  384. xmax = mu + 4.0 * sigma
  385. ymax = 1.1 * laplace(a) #Mode of laplace PDF used
  386. set nokey
  387. set zeroaxis
  388. set xrange [xmin: xmax]
  389. set yrange [0: ymax]
  390. set xlabel "x ->"
  391. set ylabel "probability density ->"
  392. set xtics
  393. set ytics
  394. set format x "%.1f"
  395. set format y "%.2f"
  396. set sample 100
  397. set title "laplace (or double exponential) PDF with a = 0, b = 1"
  398. plot laplace(x)
  399. pause -1 "Hit return to continue"
  400. set title "laplace (or double exponential) CDF with a = 0, b = 1"
  401. set yrange [0: 1.1]
  402. plot claplace(x)
  403. pause -1 "Hit return to continue"
  404.  
  405. # Logistic PDF and CDF
  406. a = 0.0; lambda = 2.0
  407. mu = a
  408. sigma = pi / (sqrt(3.0) * lambda)
  409. xmin = mu - 4.0 * sigma
  410. xmax = mu + 4.0 * sigma
  411. ymax = 1.1 * logistic(mu) #Mode of logistic PDF used
  412. set nokey
  413. set zeroaxis
  414. set xrange [xmin: xmax]
  415. set yrange [0: ymax]
  416. set nokey
  417. set zeroaxis
  418. set xlabel "x ->"
  419. set ylabel "probability density ->"
  420. set xtics
  421. set ytics
  422. set format x "%.1f"
  423. set format y "%.1f"
  424. set sample 100
  425. set title "logistic PDF with a = 0, lambda = 2"
  426. plot logistic(x)
  427. pause -1 "Hit return to continue"
  428. set title "logistic CDF with a = 0, lambda = 2"
  429. set yrange [0: 1.1]
  430. plot clogistic(x)
  431. pause -1 "Hit return to continue"
  432.  
  433. # Lognormal PDF and CDF
  434. mu = 1.0; sigma = 0.5
  435. m = exp(mu + 0.5 * sigma**2)
  436. s = sqrt(exp(2.0 * mu + sigma**2) * (2.0 * exp(sigma) - 1.0))
  437. xmin = m - 4.0 * s
  438. xmin = xmin < 0 ? 0 : xmin
  439. xmax = m + 4.0 * s
  440. ymax = 1.1 * lognormal(exp(mu - sigma**2)) #Mode of lognormal PDF used
  441. set nokey
  442. set zeroaxis
  443. set xrange [xmin: xmax]
  444. set yrange [0: ymax]
  445. set xlabel "x ->"
  446. set ylabel "probability density ->"
  447. set xtics
  448. set ytics
  449. set format x "%.2f"
  450. set format y "%.2f"
  451. set sample 100
  452. set title "lognormal PDF with mu = 1.0, sigma = 0.5"
  453. plot lognormal(x)
  454. pause -1 "Hit return to continue"
  455. set title "lognormal CDF with mu = 1.0, sigma = 0.5"
  456. set yrange [0: 1.1]
  457. plot clognormal(x)
  458. pause -1 "Hit return to continue"
  459.  
  460. # Maxwell PDF
  461. #a = 0.1
  462. #mu = 2.0 / sqrt(pi) / a
  463. #sigma = sqrt(3.0 - 8.0/pi) / a
  464. #xmin = mu - 4.0 * sigma
  465. #xmin = xmin < 0 ? 0 : xmin
  466. #xmax = mu + 4.0 * sigma
  467. #ymax = 1.1 * maxwell(1.0 / a) #Mode of maxwell PDF used
  468. set key
  469. set zeroaxis
  470. #set xrange[xmin: xmax]
  471. #set yrange[0: ymax]
  472. set xlabel "x ->"
  473. set ylabel "probability density ->"
  474. set xtics
  475. set ytics
  476. set format x "%.1f"
  477. set format y "%.1f"
  478. set sample 100
  479. set title "maxwell PDF"
  480. plot [0:6] [0:1.4] a = 1.5, maxwell(x) title "a = 1.5", \
  481.                    a = 1.0, maxwell(x) title "a = 1.0", \
  482.                    a = 0.5, maxwell(x) title "a = 0.5"
  483. pause -1 "Hit return to continue"
  484. set title "maxwell CDF"
  485. plot [0:6] [0:1.1] a = 1.5, cmaxwell(x) title "a = 1.5", \
  486.                    a = 1.0, cmaxwell(x) title "a = 1.0", \
  487.                    a = 0.5, cmaxwell(x) title "a = 0.5"
  488. pause -1 "Hit return to continue"
  489.  
  490. # Negative binomial PDF and CDF
  491. r = 8; p = 0.4
  492. mu = r * (1.0 - p) / p
  493. sigma = sqrt(mu / p)
  494. xmin = int(mu - 4.0 * sigma)
  495. xmin = xmin < 0 ? 0 : xmin
  496. xmax = int(mu + 4.0 * sigma)
  497. xinc = ceil((xmax - xmin) / 10)
  498. xinc = xinc > 1 ? xinc : 1
  499. ymax = 1.1 * negbin(mu - 1.0/p) #mode of gamma PDF used
  500. set nokey
  501. set nozeroaxis
  502. set xrange [xmin : xmax]
  503. set yrange [0 : ymax]
  504. set xlabel "k ->"
  505. set ylabel "probability density ->"
  506. set xtics xmin + 0.499, xinc, xmax
  507. set ytics 0, ymax / 10, ymax
  508. set format x "%2.0f"
  509. set format y "%3.2f"
  510. set sample (xmax - xmin) + 1
  511. set title "negative binomial (or pascal or polya) PDF with r = 8, p = 0.4"
  512. plot negbin(x) with steps
  513. pause -1 "Hit return to continue"
  514. set yrange [0 : 1.1]
  515. set ytics 0, 1.1 / 10.5, 1.1
  516. set title "negative binomial (or pascal or polya) CDF with r = 8, p = 0.4"
  517. plot cnegbin(x) with steps
  518. pause -1 "Hit return to continue"
  519.  
  520. # Negative exponential PDF and CDF
  521. lambda = 2.0
  522. mu = 1.0 / lambda
  523. sigma = 1.0 / lambda
  524. xmax =  mu + 4.0 * sigma
  525. ymax = lambda #No mode
  526. set nokey
  527. set zeroaxis
  528. set xrange [0: xmax]
  529. set yrange [0: ymax]
  530. set xlabel "x ->"
  531. set ylabel "probability density ->"
  532. set xtics
  533. set ytics
  534. set format x "%.2f"
  535. set format y "%.1f"
  536. set sample 100
  537. set title "negative exponential (or exponential) PDF with lambda = 2.0"
  538. plot nexp(x)
  539. pause -1 "Hit return to continue"
  540. set title "negative exponential (or exponential) CDF with lambda = 2.0"
  541. set yrange [0: 1.1]
  542. plot cnexp(x)
  543. pause -1 "Hit return to continue"
  544.  
  545. # Normal PDF and CDF
  546. #mu = 0.0; sigma = 1.0
  547. #xmin = mu - 4.0 * sigma
  548. #xmax = mu + 4.0 * sigma
  549. #ymax = 1.1 * normal(mu) #Mode of normal PDF used
  550. set key
  551. set zeroaxis
  552. #set xrange [xmin: xmax]
  553. #set yrange [0: ymax]
  554. set xlabel "x ->"
  555. set ylabel "probability density ->"
  556. set xtics
  557. set ytics
  558. set format x "%.1f"
  559. set format y "%.1f"
  560. set sample 100
  561. set title "normal (also called gauss or bell-curved) PDF"
  562. plot [-4:4] [0:1] mu = 0, sigma = 1.0, normal(x) title "mu = 0, sigma = 1.0", \
  563.                   mu = 2, sigma = 0.5, normal(x) title "mu = 2, sigma = 0.5", \
  564.                   mu = 1, sigma = 2.0, normal(x) title "mu = 1, sigma = 2.0"
  565. pause -1 "Hit return to continue"
  566. set title "normal (also called gauss or bell-curved) CDF"
  567. plot [-4:4] [0:1.1] mu = 0, sigma = 1.0, cnormal(x) title "mu = 0, sigma = 1.0", \
  568.                     mu = 2, sigma = 0.5, cnormal(x) title "mu = 2, sigma = 0.5", \
  569.                     mu = 1, sigma = 2.0, cnormal(x) title "mu = 1, sigma = 2.0"
  570. pause -1 "Hit return to continue"
  571.  
  572. # Pareto PDF and CDF
  573. a = 1.0; b = 3.0
  574. mu = a * b / (b - 1.0)
  575. sigma = a * sqrt(b) / (sqrt(b - 2.0) * (b - 1.0))
  576. xmin = mu - 4.0 * sigma
  577. xmin = xmin < 0 ? 0 : xmin
  578. xmax = mu + 4.0 * sigma
  579. ymax = 1.1 * pareto(a) #mode of pareto PDF used
  580. set nokey
  581. set zeroaxis
  582. set xrange [xmin: xmax]
  583. set yrange [0: ymax]
  584. set xlabel "x ->"
  585. set ylabel "probability density ->"
  586. set xtics
  587. set ytics
  588. set format x "%.1f"
  589. set format y "%.1f"
  590. set sample 500
  591. set title "pareto PDF with a = 1, b = 3"
  592. plot pareto(x)
  593. pause -1 "Hit return to continue"
  594. set title "pareto CDF with a = 1, b = 3"
  595. set yrange [0: 1.1]
  596. plot cpareto(x)
  597. pause -1 "Hit return to continue"
  598.  
  599. # Poisson PDF and CDF
  600. mu = 4.0
  601. sigma = sqrt(mu)
  602. xmin = int(mu - 4.0 * sigma)
  603. xmin = xmin < 0 ? 0 : xmin
  604. xmax = int(mu + 4.0 * sigma)
  605. xinc = ceil((xmax - xmin) / 10)
  606. xinc = xinc > 1 ? xinc : 1
  607. ymax = 1.1 * poisson(mu) #mode of poisson PDF used
  608. set nokey
  609. set nozeroaxis
  610. set xrange [xmin : xmax]
  611. set yrange [0 : ymax]
  612. set xlabel "k ->"
  613. set ylabel "probability density ->"
  614. set xtics xmin + 0.499, xinc, xmax
  615. set ytics 0, ymax / 10, ymax
  616. set format x "%2.0f"
  617. set format y "%3.2f"
  618. set sample (xmax - xmin) + 1
  619. set title "poisson PDF with mu = 4.0"
  620. plot poisson(x) with steps
  621. pause -1 "Hit return to continue"
  622. set yrange [0 : 1.1]
  623. set ytics 0, 1.1 / 10.5, 1.1
  624. set title "poisson CDF with mu = 4.0"
  625. plot cpoisson(x) with steps
  626. pause -1 "Hit return to continue"
  627.  
  628. # Rayleigh PDF and CDF
  629. lambda = 2.0
  630. mu = 0.5 * sqrt(pi / lambda)
  631. sigma = sqrt((1.0 - pi / 4.0) / lambda)
  632. xmax = mu + 4.0 * sigma
  633. ymax = 1.1 * rayleigh(1.0 / sqrt(2.0 * lambda)) #Mode of rayleigh PDF used
  634. set nokey
  635. set zeroaxis
  636. set xrange [0: xmax]
  637. set yrange [0: ymax]
  638. set xlabel "x ->"
  639. set ylabel "probability density ->"
  640. set xtics
  641. set ytics
  642. set format x "%.2f"
  643. set format y "%.1f"
  644. set sample 100
  645. set title "rayleigh PDF with lambda = 2.0"
  646. plot rayleigh(x)
  647. pause -1 "Hit return to continue"
  648. set title "rayleigh CDF with lambda = 2.0"
  649. set yrange [0: 1.1]
  650. plot crayleigh(x)
  651. pause -1 "Hit return to continue"
  652.  
  653. # Sine PDF and CDF
  654. #a = 3.0; n = 2
  655. #mu = a / 2.0
  656. #sigma = sqrt(a * a / 3.0 * (1.0 - 3.0 / (2.0 * n * n * pi * pi)) - mu * mu)
  657. #xmin = 0.0
  658. #xmax = a
  659. #ymax = 1.1 * 2.0 / a #Mode of sine PDF used
  660. set key
  661. set zeroaxis
  662. #set xrange [xmin: xmax]
  663. #set yrange [0: ymax]
  664. set xlabel "x ->"
  665. set ylabel "probability density ->"
  666. set xtics
  667. set ytics
  668. set format x "%.2f"
  669. set format y "%.1f"
  670. set sample 100
  671. set title "sine PDF"
  672. plot [0:2] [0:1.1] a = 2.0, n = 1, sine(x) title "a = 2.0, n = 1", \
  673.                    a = 2.0, n = 3, sine(x) title "a = 2.0, n = 3"
  674. pause -1 "Hit return to continue"
  675. set title "sine CDF"
  676. plot [0:2] [0:1.1] a = 2.0, n = 1, csine(x) title "a = 2.0, n = 1", \
  677.                    a = 2.0, n = 3, csine(x) title "a = 2.0, n = 3"
  678. pause -1 "Hit return to continue"
  679.  
  680. # t PDF and CDF
  681. df1 = 3.0
  682. mu = 0.0
  683. sigma = df1 > 2.0 ? sqrt(df1 / (df1 - 2.0)) : 1.0
  684. xmin = mu - 4.0 * sigma
  685. xmax = mu + 4.0 * sigma
  686. ymax = 1.1 * t(mu) #Mode of t PDF used
  687. set nokey
  688. set zeroaxis
  689. set xrange [xmin: xmax]
  690. set yrange [0: ymax]
  691. set xlabel "x ->"
  692. set ylabel "probability density ->"
  693. set xtics
  694. set ytics
  695. set format x "%.1f"
  696. set format y "%.2f"
  697. set sample 100
  698. set title "t PDF with df1 = 3.0"
  699. plot t(x)
  700. pause -1 "Hit return to continue"
  701. set title "t CDF with df1 = 3.0"
  702. set yrange [0: 1.1]
  703. plot ct(x)
  704. pause -1 "Hit return to continue"
  705.  
  706. # Thanks to efrank@upenn5.hep.upenn.edu for telling us about this
  707. # triangular PDF and CDF
  708. m = 3.0
  709. g = 2.0
  710. mu = m
  711. sigma = g/sqrt(6.0)
  712. xmin = m - g
  713. xmax = m + g
  714. ymax = 1.1 * triangular(m) #Mode of triangular PDF used
  715. set nokey
  716. set zeroaxis
  717. set xrange [xmin: xmax]
  718. set yrange [0: ymax]
  719. set xlabel "x ->"
  720. set ylabel "probability density ->"
  721. set xtics
  722. set ytics
  723. set format x "%.1f"
  724. set format y "%.2f"
  725. set sample 100
  726. set title "triangular PDF with m = 3.0, g = 2.0"
  727. plot triangular(x)
  728. pause -1 "Hit return to continue"
  729. set title "triangular CDF with m = 3.0, g = 2.0"
  730. set yrange [0: 1.1]
  731. plot ctriangular(x)
  732. pause -1 "Hit return to continue"
  733.  
  734. # Uniform PDF and CDF
  735. a = -2.0; b= 2.0
  736. mu = (a + b) / 2.0
  737. sigma = (b - a) / sqrt(12.0)
  738. xmin = a
  739. xmax = b
  740. ymax = 1.1 * uniform(mu) #No mode
  741. set nokey
  742. set zeroaxis
  743. set xrange [xmin: xmax]
  744. set yrange [0: ymax]
  745. set xlabel "x ->"
  746. set ylabel "probability density ->"
  747. set xtics
  748. set ytics
  749. set format x "%.2f"
  750. set format y "%.2f"
  751. set sample 100
  752. set title "uniform PDF with a = -2.0, b = 2.0"
  753. plot uniform(x)
  754. pause -1 "Hit return to continue"
  755. set title "uniform CDF with a = -2.0, b = 2.0"
  756. set yrange [0: 1.1]
  757. plot cuniform(x)
  758. pause -1 "Hit return to continue"
  759.  
  760. # Weibull PDF and CDF
  761. #lambda = 1.0; n = 1.5
  762. #mu = lambda**(-1.0 / n) * gamma(1.0 / n) / n
  763. #sigma = sqrt(2.0 * lambda**(-2.0 / n) * gamma(2.0 / n) / n - mu * mu)
  764. #xmin = mu - 4.0 * sigma
  765. #xmin = xmin < 0 ? 0 : xmin
  766. #xmax = mu + 4.0 * sigma
  767. #Mode of weibull PDF used
  768. #ymax = 1.1 * (n > 1.0 ? weibull(((n - 1.0) / (lambda * n))**(1.0 / n)) : 2.0)
  769. set key
  770. set zeroaxis
  771. #set xrange [xmin : xmax]
  772. #set yrange [0: ymax]
  773. set xlabel "x ->"
  774. set ylabel "probability density ->"
  775. set xtics
  776. set ytics
  777. set format x "%.2f"
  778. set format y "%.1f"
  779. set sample 100
  780. set title "weibull PDF"
  781. plot [0:2] [0:1.5] lambda = 1, n = 0.5, weibull(x) title "lambda = 1, n = 0.5", \
  782.                    lambda = 1, n = 1.0, weibull(x) title "lambda = 1, n = 1.0", \
  783.                    lambda = 1, n = 2.0, weibull(x) title "lambda = 1, n = 2.0", \
  784.                    lambda = 3, n = 2.0, weibull(x) title "lambda = 3, n = 2.0"
  785. pause -1 "Hit return to continue"
  786. set title "weibull CDF"
  787. plot [0:3] [0:1.2] lambda = 1, n = 0.5, cweibull(x) title "lambda = 1, n = 0.5", \
  788.                    lambda = 1, n = 1.0, cweibull(x) title "lambda = 1, n = 1.0", \
  789.                    lambda = 1, n = 2.0, cweibull(x) title "lambda = 1, n = 2.0", \
  790.                    lambda = 3, n = 2.0, cweibull(x) title "lambda = 3, n = 2.0"
  791.